ArchView 是一个 Firefox 的扩展(支持 Firefox 2.0)。它可以在线打开存档文件(压缩包),将其中的目录列出来,也可以预览或下载其中的某个文件。目前能够支持 ZIP,RAR 和 ISO 格式。ArchView 最大的特点是不需要下载整个存档文件,而只是向服务器请求需要的部分数据。所以很适合在下载前简单查看里面的内容。目前支持的网络协议包括 http 和 ftp,对于本地文件,也可以用 file 协议访问。
ArchView 并不是常规存档管理软件(如 7-Zip,WinZip 或 WinRAR)的替代品。因为它缺乏一些功能,比如添加和删除文件。ArchView 不支持压缩编码,也没有实现这个功能的计划。ArchView 是这些常规存档管理软件的一个补充,因为它们是针对管理本地文件而设计的,几乎都不支持网络在线浏览。而且,ArchView 能够很好的跟 Firefox 浏览器结合,使得浏览存档文件向浏览普通网页一样方便。
选择“工具”菜单的“附加软件”打开“附加软件”对话框,可以找到 ArchView 一行。点击“选项”按钮可以打开“参数设置”对话框。如果使用 XUL 界面方式并打开了一个存档文件,可以点击设置按钮弹出“参数设置”对话框
也可以通过 Firefox 窗口右下角的快捷设置图标进行快速设置。如果是左键单击,可以在允许和禁止两个状态间切换。如果选择了禁止,ArchView 不处理任何文件,就像没安装一样。如果是右键单击,会弹出一个菜单。通过这个菜单,可以快速选择界面方式和文件格式。下面会逐项说明。
ArchView 提供两种界面显示方式,传统的 HTML 方式和高级的 XUL 方式。它们各有优缺点。对于 HTML 方式,它只能提供简单的目录显示功能,而 XUL 方式可以选择三种不同的目录视图,还可以对列表按不同方式进行选择和排序。但 XUL 方式是在得到全部的目录数据后才显示,而 HTML 是增量显示的,也就是说一边传输一边显示。简单的说,HTML 方式比 XUL 方式显示速度快。
选择的策略是:对于本地文件和网络上的 ZIP 和 ISO 文件,推荐使用 XUL 方式。对于网络上的 RAR 文件,特别是包含很多文件的 RAR 包,推荐使用 HTML 方式。
目录可以有三种视图方式显示,分别是:树形,平坦和文件夹。树形视图是把所有文件和目录组成一个目录/文件树显示,全部展开后可以看到所有的文件、目录和他们之间的层次关系。平坦视图则只列出所有的文件,隐藏目录项,而且也没有层次关系。平坦视图适合快速查找文件。文件夹视图则只显示一个目录的内容,显示和操作方式类似 Windows 的资源管理器。文件夹视图适合文件数量很大的存档文件,而且只专注某个目录。安装后默认是树型视图。可以在“参数设置”对话框更改默认视图。
设置默认显示的栏目。改变这个选项确定后,当前的显示也会变化,以后每次打开文件都会是同样的栏目。可以点击目录列表表头最右边的小按钮选择当前显示的栏目,这个设置不会影响下次的显示。
目前这个设置只影响 XUL 界面的栏目显示。HTML 界面显示的栏目是固定的。以后的版本可能会增加这个功能。
可以选择允许 ArchView 打开的存档文件格式。目前可以分别选择 ZIP,RAR 和 ISO 三种格式。如果没有选择,打开相关的链接会显示下载对话框。
需要说明的是,由于 RAR 格式本身的问题,打开 RAR 存档文件会比 ZIP 速度慢。特别是对于包含很多文件的 RAR 文件尤为明显。不建议使用 ArchView 打开 FTP 服务器上的 RAR 文件。详细信息请参考:格式。
安装后 ArchView 可以支持通过 http(包括https),ftp 和 file 协议打开存档文件。目前还不能分别选择支持协议,以后的版本可能会增加这个功能。
ZIP 文件由于其格式和编码的开放性而被广泛应用于一些特定的应用程序,例如 Firefox 扩展的安装文件 .xpi 其实就是一个 ZIP 存档文件。为了避免 ArchView 打开这类文件,可以将它的扩展名设置在排除类型里。当遇到此类文件时,Firefox 将使用默认方式打开。多个扩展名以 ; 分割。默认已经设置了 .xpi 和 .jar 文件。
当存档文件包含非英语的文件名时,需要设置字符集才能正确显示文件名。错误的设置会导致文件名显示不正确,甚至会使 ArchView 无法列出目录。默认设置是与 Firefox 的默认字符集是相同的。例如,简体中文版会设置为 GB2312。
直接在 Firefox 浏览器点击存档文件的链接就可以打开了。当然也可以在位置栏里直接输入文件的地址。对于本地文件,可以将文件从资源管理器里拖拽到浏览器的窗口中,或者通过 file 协议方式访问。总之,这么样打开 HTML 页面,就可以用同样的方法打开存档文件。
在打开时,状态栏的会显示当前的进度。对于 RAR 和 ISO 文件,文件的数量只有在全部得到后才能知道,所以进度不可预测,但会显示目前已经获得的文件数量。
完成后,会在状态栏显示出文件数量和所有文件(压缩前)大小的总和。另外也会显示操作结果,一般是“成功”。如果显示“多余数据”,可以忽略。详细信息请参考:错误。
很简单,关闭窗口或者标签页,相关资源会自动释放。
如果不想打开 ArchView 预览文件内容而是想直接下载,可以在链接上单击右键并选择“链接另存为”。或者按住 Alt 键并单击左键可以直接保存。如果已经用 ArchView 打开了文件,可以按“保存”按钮将整个文件下载到本地,效果跟“链接另存为”是一样的。
在目录列表里双击指定文件即可,按回车键也可以,或者右键单击选择“打开”。
对于 ZIP 和 ISO 文件,如果选择打开的文件是图片、HTML 文档或其他文本文件,会直接显示在 Firefox 的一个新窗口或标签页里。如果是 Firefox 不能处理的文件,会弹出“正在打开”的对话框提示用户选择外部应用程序打开或下载到本地。
对于 RAR 文件,由于没有实现 RAR 的解码算法,不能直接在浏览器里预览文件,而总是会弹出“正在打开”对话框。如果系统中已经安装了支持 RAR 格式的存档管理软件(如 WinRAR 或 7-Zip),可以先用它打开一个临时文件,然后再打开里面的内容。这个临时文件也是一个 RAR 格式的文件,不过只包含指定的某个文件。
在目录列表里单击右键选择“保存”。这时往往会弹出“正在打开”对话框选择外部应用程序打开或下载。如果不想看到这个对话框而是想直接下载。可以在浏览器的地址栏输入:about:config,然后找到“browser.helperApps.neverAsk.saveToDisk”一行,将它设置成“application/always-save-archview”。
可以同时选择多个文件打开或保存,按住 Ctrl 键再单击鼠标左键就可以选择多个文件。为了方便,在选择按钮菜单里提供了反向选择和按类型选择。所谓反向选择就是把已经选中的文件取消而选择其他文件。按类型选择就是选择与当前文件扩展名相同的所有文件。
另外,选择文件的同时,状态栏中的“选定”也会相应变化,显示已选择文件的数量和大小的总和。
警告:请谨慎同时打开或下载太多的文件,建议不要超过三个。
当显示树形视图时,在目录项单击右键可以看到“展开”。此功能可以把这个目录包括其下所有的子目录全部展开。可以同时选择多个目录一起展开。对于其他视图,没有这个功能。
可以按不同的列对当前显示的文件/目录进行排序,便于查找文件。可以通过点击“排序”按钮选择不同方式进行排序。也可以直接点击栏目的台头进行排序。每次点击排序方式可以在三种方式间循环切换:顺序,逆序和不排序。默认是不排序。
将存档文件的目录导出到本地文件,导出文件的格式为 HTML。其中的超级连接可以直接点击以浏览或下载其中的某个文件。可以导出全部文件的目录,也可以只导出选择部分的目录。
对于 http 协议,判定一个文件是哪种存档文件格式是通过检查文件头部的部分数据获得的。这种识别方式不依赖于文件的扩展名,只要是符合相关格式的标准 ArchView 都能够正确的识别。但是对于 ftp 和 file 协议方式,是依赖扩展名的。
某些带有很长(大于 4KB)注释的 ZIP 文件可能无法打开。可以通过高级设置来解决这个问题。打开 about:config 配置页面。找到“extensions.archview.zip.retries”一行,将这个值改大一些。这个值控制查找 ZIP 标识区的重试次数。另外还有一个配置项是“extensions.archview.fragsize”,这个控制每次与服务器连接请求的最小数据量。只要这两个值的乘积大于注释的长度就可以打开文件。但是不建议修改第二个参数。另外,这个乘积大于 65535 是没有意义的,因为 ZIP 文件允许的最大注释长度是 64KB。
另外,对于一些带有特别扩展的 ZIP 文件 ArchView 可能也无法打开。发现这样的文件,请提交 Bug 报告。
RAR 文件打开速度慢是因为 RAR 文件格式中不提供目录区。所以无法一次性得到全部的目录数据,而是需要读取其中每个文件的文件头。当文件头和压缩数据的和大于“extensions.archview.fragsize”时,每得到一个文件的信息需要同服务器通信一次。对于 HTTP 协议通信一次建立一个 TCP 连接,而对于 FTP 协议需要建立两个连接:控制连接和数据连接。所以处理 FTP 服务器上的 RAR 文件速度尤为慢。如果网络带宽比较好,可以将“extensions.archview.fragsize”的值调大一些以改善性能。对于本地文件,这个值不起作用。访问本地文件的性能差异很小,完全可以忽略。
有些 RAR 存档文件中的文件无法打开和下载,ArchView 报告“无法打开 Solid Archive 中的文件”的错误。对于这样存档文件,请把整个文件下载到本地,然后使用本地应用程序打开。请参考:无法打开 Solid Archive 中的文件
RAR 文件格式是私有的,并且不适合网络处理。RAR 的编码算法也是私有的,目前没有开源和免费的软件实现。所以,不建议使用 RAR 存档文件格式,特别是在网络上。
所谓 ISO 格式指的是 ISO-9660 光盘镜像格式,这种格式通常用于数据光盘。ArchView 同时还支持 Joliet 和 Rock Ridge 扩展。这两种扩展主要用来解决标准 ISO-9660 格式关于文件名等方面的限制。Joliet 常用于 Windows 平台制作的 CD,而 Rock Ridge 则常用于 Unix 平台制作的 CD。有时一张 CD 可以同时包含两种扩展。这种情况 ArchView 会选择 Joliet 扩展。
实际的存档文件格式跟检测到的不符,也可能是由于文件头标识信息损坏引起的。对于 ZIP 格式,过长的注释也会造成这个错误,参见:关于 ZIP 格式。
另外,服务器对续传不能正确的处理,可会造成这个错。如果这个存档文件可以在本地打开而且服务器支持断点续传,请提交 Bug 报告。
在读取数据的过程中发生错误。这可能是由于操作系统引起的,可以能网络传输错误造成的。如果这个错误可以复现,请提交 Bug 报告。
这不是一个错误,只算一个调试信息,供开发人员使用。用户可以忽略这个提示。文件的内容应该已经得到完全正确的处理。
格式识别已经正确,但是在处理过程中发现存档文件的格式在某些地方与标准不符。如果本地应用程序可以正确打开这个文件,请提交 Bug 报告。
对于本地文件,不会出现这种错误。主要是由于 HTTP 或 FTP 不能支持续传功能引起的。还有一种不常见的可能,就是在通信的过程中,文件内容发生了改变。
对于 HTTP 服务器,可能是服务器只支持 HTTP 1.0 协议。或者服务器返回的状态码是 200 而不是 206。请参考 RFC 2616 的 14.35.2 小节。
对于 FTP 服务器,该错误是服务器不支持 REST 命令导致的。请参考 RFC 959 的 4.1.3 小节。另外,如果服务器对 MDTM 命令返回的时间格式不符合标准,也会造成这个错误。这种情况比较少见。请参考 RFC 3659 的第 3 章。
这是因为这个 RAR 存档文件采用了“Solid Compression”方式压缩,也就是先把所有的文件合并成一个大文件然后进行压缩。这样压缩率比每个文件单独压缩要高一点,特别是对于大量的内容相似的小文件比较显著。但是这种存档格式的缺点是无法单独得到其中的某个文件,必去先解开所有文件才能提取到指定文件,所以对存档文件的修改会比较慢。而且一旦存档文件损坏,往往所有文件都将丢失。
对于这样的 RAR 存档文件,请把整个文件下载到本地,然后使用本地应用程序打开。
如果在使用 ArchView 时遇到问题,特别是无法打开某些文件时,请您提交 Bug 报告。当然其他的问题和建议也非常欢迎。可以到 ArchView 项目主页的 跟踪系统中提交您遇到的问题或其他请求。需要说明的是,问题和特性请求可能无法在短时间内得到修正或支持,也可能根本不会被实现。我对这个软件不收取任何费用,同样也不提供任何担保。如果您对 Bug 或功能提交 Patch,我将非常感谢您的贡献。
在提交 Bug 报告时,为了作者能够更容易地定位并修正问题,您需要提供一些信息。包括: